1
C++ コミュニケーションの基礎
AI037Lesson 13
00:00

C++ では、通信は 流れという静的な保存イベントではなく、 iostream ライブラリは ポリモーフィックな階層構造 を採用しており、 ifstream (ファイル)および istringstream (メモリ)は istreamから派生しています。これにより ストリーム継承が可能になります。基本となるストリーム用に設計された関数は、任意のソースからのデータを透明に処理できます。

コピー不可能な制約

ストリームはハードウェアへの一意かつ状態を持つ接続を表します。同じファイルポインタやコンソールバッファを複数のオブジェクトが競合するのを防ぐため、入出力オブジェクトは コピーまたは代入することはできません。例えば ofstream out1, out2; out1 = out2; のようなコードを試みるとコンパイラエラーになります。したがって、入出力オブジェクトは 非定数参照で渡さなければなりません。

ios_baseistreamostreamifstreamofstream

順序付きブリッジ

ストリームはインターフェースを提供しますが、 順序付きコンテナ (vectorlist) がメモリを提供します。流れてきたデータは通常このコンテナに構造化され、速度を重視する場合は vector を選び、 list 柔軟な挿入を求める場合は

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>